using System;
using System.Collections.Generic;
using System.Data;
using System.Configuration;
using System.Web.UI;
using Anthem;
using BusinessRules;
using Common;
using DataAccess;
using DevExpress.Web.ASPxClasses;
using DevExpress.Web.ASPxEditors;
using DevExpress.Web.ASPxGridView;

public partial class ContratosOtroSi : PageBase
{
    #region IdentificadorPlnId

    public string IdentificadorPlnId
    {
        get { return (ViewState["IdentificadorPlnId"] == null ? string.Empty : ViewState["IdentificadorPlnId"].ToString()); }
        set { ViewState["IdentificadorPlnId"] = value; }
    }

    #endregion

    #region IdentificadorPlmId

    public string IdentificadorPlmId
    {
        get { return (ViewState["IdentificadorPlmId"] == null ? string.Empty : ViewState["IdentificadorPlmId"].ToString()); }
        set { ViewState["IdentificadorPlmId"] = value; }
    }

    #endregion

    public string StrCitId
    {
        get
        {
            if (ViewState["StrCitId"] != null)
                return ViewState["StrCitId"].ToString();
            return "";
        }
        set { ViewState["StrCitId"] = value; }
    }

    public string longFechaProrrogaPadre
    {
        get
        {
            if (ViewState["longFechaProrrogaPadre"] != null)
                return ViewState["longFechaProrrogaPadre"].ToString();
            return "";
        }
        set { ViewState["longFechaProrrogaPadre"] = value; }
    }

    public string StrCitIdHijo
    {
        get
        {
            if (ViewState["StrCitIdHijo"] != null)
                return ViewState["StrCitIdHijo"].ToString();
            return "";
        }
        set { ViewState["StrCitIdHijo"] = value; }
    }

    #region crearContextItems

    private void crearContextItems()
    {
        try
        {
            Context.Items["IdentificadorPlnId"] = IdentificadorPlnId;
            Context.Items["StrCitId"] = StrCitId;
            Context.Items["StrCitIdHijo"] = StrCitIdHijo;
        }
        catch (Exception ex)
        {
            lblMensaje.Text = ex.ToString();
        }
    }

    #endregion

    #region TraerContextItems

    private void TraerContextItems()
    {
        if (Context.Items["IdentificadorPlnId"] != null)
            IdentificadorPlnId = Context.Items["IdentificadorPlnId"].ToString();
        if (Context.Items["IdentificadorPlmId"] != null)
            IdentificadorPlmId = Context.Items["IdentificadorPlmId"].ToString();
        if (Context.Items["StrCitId"] != null)
            StrCitId = Context.Items["StrCitId"].ToString();
        if (Context.Items["StrCitIdHijo"] != null)
            StrCitIdHijo = Context.Items["StrCitIdHijo"].ToString();
    }

    #endregion

    #region Page_Load

    protected void Page_Load(object sender, EventArgs e)
    {
        WccAcciones1.AddEnabledDuringCallBack = false;
        WccAcciones1.AddTextDuringCallBack = "Guardando... Por favor esperar!!!";
        WccAcciones1.UpdateEnabledDuringCallBack = false;
        WccAcciones1.UpdateTextDuringCallBack = "Guardando... Por favor espere!!!";

        if (Manager.IsCallBack)
        {
            Manager.RegisterClientScriptBlock(typeof(Page), "reloj", "<script>muestraReloj2();</script>");
        }
        WccAcciones1.Permisos = Permisos;
        if (!IsPostBack)
        {
            TraerContextItems();

            //AccessDataSourceMain.InsertParameters["CTT_ID"].DefaultValue = "1";

            cargarTiposModificaciones();
            if (StrCitIdHijo != "")
            {
                txtIdentificador.Text = StrCitIdHijo;
                AccessDataSourceMain.SelectParameters["Param1"].DefaultValue = StrCitIdHijo;
                cargarCampos();
                WccAcciones1.Accion = Utilidad.Acciones.Actualizar;
                WccAcciones1.AddVisible = false;
                WccAcciones1.UpdateVisible = true;
                WccAcciones1.DeleteVisible = true;

            }
            else
            {
                if (StrCitId != "")
                {
                    cargarCamposPadre();
                }
                WccAcciones1.Accion = Utilidad.Acciones.Adicionar;
            }
        }
        //txtObjeto
        txtObjeto.Attributes.Add("onKeyDown", String.Format("textAreaMaxLength({0},{1});", txtObjeto.ClientID, txtObjeto.MaxLength));
        txtObjeto.Attributes.Add("onKeyUp", String.Format("textAreaMaxLength({0},{1});", txtObjeto.ClientID, txtObjeto.MaxLength));

    }

    #endregion

    #region cargarCamposPadre

    private void cargarCamposPadre()
    {
        BusinessRules.Contratacion objBR = new BusinessRules.Contratacion(ConfigurationManager.AppSettings["Conn"]);
        ContratacionData objContratacionData = objBR.ConsultarContratacionDetalleCttID(Convert.ToDecimal(StrCitId));
        try
        {
            if (objContratacionData != null)
            {
                DataRow objRow = objContratacionData.Rows[0];
                txtNumeroContrato.Text = objRow[ContratacionData.CTT_NUMERO_CONTRATO_FIELD].ToString();
                txtNombreContratista.Text = objRow[ContratacionData.CTT_NOMBRE_CONTRATISTA_FIELD].ToString();
                txtidentificacionContratista.Text = objRow[ContratacionData.CTT_IDENTIFICACION_CONTRATISTA_FIELD].ToString();
                //txtTiempoProrroga.Text = objRow[ContratacionData.CTT_TIEMPO_PRORROGA_FIELD].ToString();
                txtValorContrato.Text = objRow[ContratacionData.CTT_VALOR_CONTRATO_FIELD].ToString();
                txtDireccion.Text = objRow[ContratacionData.CTT_DIRECCION_FIELD].ToString();
                ddlModalidadSeleccion.SelectedValue = objRow[ContratacionData.TMS_ID_FIELD].ToString();
                ddlNombreSupervisorExterno.SelectedValue = objRow[ContratacionData.ASU_ID_EXTERNO_FIELD].ToString();
                //ddlNombreSupervisorInterno.SelectedValue = objRow[ContratacionData.ASU_ID_INTERNO_FIELD].ToString();
                txtObjeto.Text = objRow[ContratacionData.CTT_OBJETO_FIELD].ToString();
                if (objRow[ContratacionData.TNJ_ID_NATURALEZA_JURIDICA_FIELD] != null && objRow[ContratacionData.TNJ_ID_NATURALEZA_JURIDICA_FIELD].ToString() != "")
                    ddlNaturaleza.SelectedValue = objRow[ContratacionData.TNJ_ID_NATURALEZA_JURIDICA_FIELD].ToString();


                //if (objRow[ContratacionData.CTT_FECHA_SUSCRIPCION_FIELD] != null && objRow[ContratacionData.CTT_FECHA_SUSCRIPCION_FIELD].ToString() != "")
                //    calFechaSuscripcion.SelectedValue = Convert.ToDateTime(objRow[ContratacionData.CTT_FECHA_SUSCRIPCION_FIELD].ToString());

                if (objRow[ContratacionData.CTT_FECHA_INICIO_FIELD] != null && objRow[ContratacionData.CTT_FECHA_INICIO_FIELD].ToString() != "")
                    calFechaInicio.SelectedValue = Convert.ToDateTime(objRow[ContratacionData.CTT_FECHA_INICIO_FIELD].ToString());

                //if (objRow[ContratacionData.CTT_FECHA_TERMINACION_FIELD] != null && objRow[ContratacionData.CTT_FECHA_TERMINACION_FIELD].ToString() != "")
                //    calFechaTerminacion.SelectedValue = Convert.ToDateTime(objRow[ContratacionData.CTT_FECHA_TERMINACION_FIELD].ToString());

                //if (objRow[ContratacionData.CTT_FECHA_LIQUIDACION_FIELD] != null && objRow[ContratacionData.CTT_FECHA_LIQUIDACION_FIELD].ToString() != "")
                //    calFechaLiquidacion.SelectedValue = Convert.ToDateTime(objRow[ContratacionData.CTT_FECHA_LIQUIDACION_FIELD].ToString());

                if (!string.IsNullOrEmpty(objRow[ContratacionData.CTT_NUMERO_REGISTRO_FIELD].ToString()))
                    txtNumeroRegistro.Text = objRow[ContratacionData.CTT_NUMERO_REGISTRO_FIELD].ToString();
                SqlDataSourceDetalleExterno.SelectParameters[0].DefaultValue = objRow[ContratacionData.ASU_ID_EXTERNO_FIELD].ToString();

                DetailsView2.DataBind();

                SqlDataSourceDetalle.SelectParameters[0].DefaultValue = objRow[ContratacionData.ASU_ID_INTERNO_FIELD].ToString();
                DetailsView1.DataBind();

            }
        }
        catch (Exception ex)
        {

            lblMensaje.CssClass = "error";
            lblMensaje.Visible = true;
            lblMensaje.Text = Utilidad.TraerMensaje("gmsgErrorGeneral");
        }
    }

    #endregion

    #region cargarCampos

    private void cargarCampos()
    {
        BusinessRules.Contratacion objBR = new BusinessRules.Contratacion(ConfigurationManager.AppSettings["Conn"]);
        ContratacionData objContratacionData = objBR.ConsultarContratacionDetalleCttID(Convert.ToDecimal(StrCitIdHijo));
        try
        {
            if (objContratacionData != null)
            {
                DataRow objRow = objContratacionData.Rows[0];
                txtNumeroContrato.Text = objRow[ContratacionData.CTT_NUMERO_CONTRATO_FIELD].ToString();
                txtNombreContratista.Text = objRow[ContratacionData.CTT_NOMBRE_CONTRATISTA_FIELD].ToString();
                txtidentificacionContratista.Text = objRow[ContratacionData.CTT_IDENTIFICACION_CONTRATISTA_FIELD].ToString();
                txtTiempoProrroga.Text = objRow[ContratacionData.CTT_TIEMPO_PRORROGA_FIELD].ToString();
                txtValorContrato.Text = objRow[ContratacionData.CTT_VALOR_CONTRATO_FIELD].ToString();
                txtDireccion.Text = objRow[ContratacionData.CTT_DIRECCION_FIELD].ToString();
                ddlModalidadSeleccion.SelectedValue = objRow[ContratacionData.TMS_ID_FIELD].ToString();
                ddlNombreSupervisorExterno.SelectedValue = objRow[ContratacionData.ASU_ID_EXTERNO_FIELD].ToString();
                ddlNombreSupervisorInterno.SelectedValue = objRow[ContratacionData.ASU_ID_INTERNO_FIELD].ToString();
                txtObjeto.Text = objRow[ContratacionData.CTT_OBJETO_FIELD].ToString();
                if (objRow[ContratacionData.TNJ_ID_NATURALEZA_JURIDICA_FIELD] != null && objRow[ContratacionData.TNJ_ID_NATURALEZA_JURIDICA_FIELD].ToString() != "")
                    ddlNaturaleza.SelectedValue = objRow[ContratacionData.TNJ_ID_NATURALEZA_JURIDICA_FIELD].ToString();


                //if (objRow[ContratacionData.CTT_FECHA_SUSCRIPCION_FIELD] != null && objRow[ContratacionData.CTT_FECHA_SUSCRIPCION_FIELD].ToString() != "")
                //    calFechaSuscripcion.SelectedValue = Convert.ToDateTime(objRow[ContratacionData.CTT_FECHA_SUSCRIPCION_FIELD].ToString());

                if (objRow[ContratacionData.CTT_FECHA_INICIO_FIELD] != null && objRow[ContratacionData.CTT_FECHA_INICIO_FIELD].ToString() != "")
                    calFechaInicio.SelectedValue = Convert.ToDateTime(objRow[ContratacionData.CTT_FECHA_INICIO_FIELD].ToString());

                if (objRow[ContratacionData.CTT_FECHA_TERMINACION_FIELD] != null && objRow[ContratacionData.CTT_FECHA_TERMINACION_FIELD].ToString() != "")
                    calFechaTerminacion.SelectedValue = Convert.ToDateTime(objRow[ContratacionData.CTT_FECHA_TERMINACION_FIELD].ToString());

                if (objRow[ContratacionData.CTT_FECHA_LIQUIDACION_FIELD] != null && objRow[ContratacionData.CTT_FECHA_LIQUIDACION_FIELD].ToString() != "")
                    calFechaLiquidacion.SelectedValue = Convert.ToDateTime(objRow[ContratacionData.CTT_FECHA_LIQUIDACION_FIELD].ToString());

                if (!string.IsNullOrEmpty(objRow[ContratacionData.CTT_NUMERO_REGISTRO_FIELD].ToString()))
                    txtNumeroRegistro.Text = objRow[ContratacionData.CTT_NUMERO_REGISTRO_FIELD].ToString();
                SqlDataSourceDetalleExterno.SelectParameters[0].DefaultValue = objRow[ContratacionData.ASU_ID_EXTERNO_FIELD].ToString();

                DetailsView2.DataBind();

                SqlDataSourceDetalle.SelectParameters[0].DefaultValue = objRow[ContratacionData.ASU_ID_INTERNO_FIELD].ToString();
                DetailsView1.DataBind();

            }
        }
        catch (Exception ex)
        {

            lblMensaje.CssClass = "error";
            lblMensaje.Visible = true;
            lblMensaje.Text = Utilidad.TraerMensaje("gmsgErrorGeneral");
        }
    }

    #endregion

    #region cargarTiposModificaciones

    private void cargarTiposModificaciones()
    {

        SigTipoModificacion objSigTipoModificacion = new SigTipoModificacion(ConfigurationManager.AppSettings["Conn"]);
        SigTipoModificacionData objSigPndData = objSigTipoModificacion.BuscarSigTipoModificacion();
    }

    #endregion

    #region btnRegresar_Click

    protected void btnRegresar_Click(object sender, ImageClickEventArgs e)
    {
        crearContextItems();
        Server.Transfer("ContratosOtroSiListado.aspx?SSM_ID=21", true);
    }

    #endregion

    #region WccAcciones1_Add_OnClick

    protected void WccAcciones1_Add_OnClick(object sender, ImageClickEventArgs e)
    {
        Adcionar();
    }

    #endregion

    #region Adcionar

    private void Adcionar()
    {

        ContratacionData objDS = new ContratacionData();
        try
        {
            DataRow objRow = objDS.NewRow();

            objRow[ContratacionData.CTT_NUMERO_CONTRATO_FIELD] = txtNumeroContrato.Text;
            objRow[ContratacionData.CTT_NOMBRE_CONTRATISTA_FIELD] = txtNombreContratista.Text;
            objRow[ContratacionData.CTT_IDENTIFICACION_CONTRATISTA_FIELD] = txtidentificacionContratista.Text;
            objRow[ContratacionData.CTT_TIEMPO_PRORROGA_FIELD] = txtTiempoProrroga.Text;
            objRow[ContratacionData.CTT_VALOR_CONTRATO_FIELD] = txtValorContrato.Text;
            objRow[ContratacionData.CTT_DIRECCION_FIELD] = txtDireccion.Text;
            objRow[ContratacionData.CTT_ESTADO_FIELD] = "R";
            if (ddlNaturaleza.SelectedValue != "")
                objRow[ContratacionData.TNJ_ID_NATURALEZA_JURIDICA_FIELD] = ddlNaturaleza.SelectedValue;
            objRow[ContratacionData.CTT_FECHA_SUSCRIPCION_FIELD] = calFechaSuscripcion.SelectedValue;
            objRow[ContratacionData.CTT_FECHA_INICIO_FIELD] = calFechaInicio.SelectedValue;
            objRow[ContratacionData.CTT_FECHA_TERMINACION_FIELD] = calFechaTerminacion.SelectedValue;
            objRow[ContratacionData.TMS_ID_FIELD] = ddlModalidadSeleccion.SelectedValue;
            objRow[ContratacionData.ASU_ID_EXTERNO_FIELD] = ddlNombreSupervisorExterno.SelectedValue;
            objRow[ContratacionData.ASU_ID_INTERNO_FIELD] = ddlNombreSupervisorInterno.SelectedValue;
            objRow[ContratacionData.CTT_FECHA_LIQUIDACION_FIELD] = calFechaLiquidacion.SelectedValue;
            objRow[ContratacionData.CTT_OBJETO_FIELD] = txtObjeto.Text;
            objRow[ContratacionData.CTT_ID_PADRE_FIELD] = Convert.ToDecimal(StrCitId);

            BusinessRules.Contratacion objBR = new BusinessRules.Contratacion(ConfigurationManager.AppSettings["Conn"]);
            objBR.ActualizarContratacionTiempoProrroga(StrCitId, longFechaProrrogaPadre);
            objDS.Add(objRow);
            StrCitIdHijo = Convert.ToString(objBR.AdicionarContratacionOtroSi(objDS));
            lblMensaje.Visible = true;
            Utilidad.mostrarMensaje(Utilidad.TiposMensajes.Mensaje, Utilidad.TraerMensaje("gmsgExitoGuardar"), lblMensaje);
            WccAcciones1.Accion = Utilidad.Acciones.Actualizar;
            WccAcciones1.AddVisible = false;
            WccAcciones1.UpdateVisible = true;
            WccAcciones1.DeleteVisible = true;
        }
        catch (Exception objEx)
        {
            //ExceptionManager.Publish(objEx);
            lblMensaje.Visible = true;
            Utilidad.mostrarMensaje(Utilidad.TiposMensajes.Error, Utilidad.TraerMensaje("gmsgErrorGeneral"), lblMensaje);
        }


    }

    #endregion

    #region WccAcciones1_Delete_OnClick

    protected void WccAcciones1_Delete_OnClick(object sender, ImageClickEventArgs e)
    {
        eliminar();
    }

    #endregion

    #region eliminar

    private void eliminar()
    {
        try
        {

            BusinessRules.Contratacion objBR = new BusinessRules.Contratacion(ConfigurationManager.AppSettings["Conn"]);
            objBR.EliminarContratos(Convert.ToDecimal(StrCitIdHijo));
            limpiarCampos();
            WccAcciones1.Accion = Utilidad.Acciones.Adicionar;
            WccAcciones1.AddVisible = true;
            WccAcciones1.UpdateVisible = false;
            WccAcciones1.DeleteVisible = false;
            lblMensaje.Visible = true;
            Utilidad.mostrarMensaje(Utilidad.TiposMensajes.Mensaje, Utilidad.TraerMensaje("gmsgEliminarRegistrosExitoso"), lblMensaje);
        }
        catch (Exception ex)
        {
            if (ex.Message != null) lblMensaje.Text = ex.Message;
        }

    }

    #endregion

    #region limpiarCampos

    private void limpiarCampos()
    {
        txtIdentificador.Text = "";
        txtNumeroContrato.Text = "";
        txtNombreContratista.Text = "";
        txtidentificacionContratista.Text = "";
        txtDireccion.Text = "";
        ddlNaturaleza.SelectedValue = "1";
        ddlModalidadSeleccion.SelectedValue = "1";
        txtValorContrato.Text = "";
        ddlNombreSupervisorExterno.SelectedValue = "1";
        ddlNombreSupervisorInterno.SelectedValue = "1";



        txtIdentificador.AutoUpdateAfterCallBack = true;
        txtNumeroContrato.AutoUpdateAfterCallBack = true;
        txtNombreContratista.AutoUpdateAfterCallBack = true;
        txtidentificacionContratista.AutoUpdateAfterCallBack = true;
        txtDireccion.AutoUpdateAfterCallBack = true;
        ddlNaturaleza.AutoUpdateAfterCallBack = true;
        ddlModalidadSeleccion.AutoUpdateAfterCallBack = true;
        txtValorContrato.AutoUpdateAfterCallBack = true;
        ddlNombreSupervisorExterno.AutoUpdateAfterCallBack = true;
        ddlNombreSupervisorInterno.AutoUpdateAfterCallBack = true;

        txtidentificacionContratista.Text = "";
        txtidentificacionContratista.AutoUpdateAfterCallBack = true;

    }

    #endregion

    #region WccAcciones1_Update_OnClick

    protected void WccAcciones1_Update_OnClick(object sender, ImageClickEventArgs e)
    {
        Actualizar();
    }

    #endregion

    #region Actualizar

    private void Actualizar()
    {
        ContratacionData objDS = new ContratacionData();
        try
        {
            DataRow objRow = objDS.NewRow();

            objRow[ContratacionData.CTT_ID_FIELD] = StrCitIdHijo;
            objRow[ContratacionData.CTT_NUMERO_CONTRATO_FIELD] = txtNumeroContrato.Text;
            objRow[ContratacionData.CTT_NOMBRE_CONTRATISTA_FIELD] = txtNombreContratista.Text;
            objRow[ContratacionData.CTT_IDENTIFICACION_CONTRATISTA_FIELD] = txtidentificacionContratista.Text;
            objRow[ContratacionData.CTT_TIEMPO_PRORROGA_FIELD] = txtTiempoProrroga.Text;
            objRow[ContratacionData.CTT_VALOR_CONTRATO_FIELD] = txtValorContrato.Text;
            objRow[ContratacionData.CTT_DIRECCION_FIELD] = txtDireccion.Text;
            objRow[ContratacionData.CTT_ESTADO_FIELD] = "R";
            objRow[ContratacionData.TMS_ID_FIELD] = ddlModalidadSeleccion.SelectedValue;
            objRow[ContratacionData.ASU_ID_EXTERNO_FIELD] = ddlNombreSupervisorExterno.SelectedValue;
            objRow[ContratacionData.ASU_ID_INTERNO_FIELD] = ddlNombreSupervisorInterno.SelectedValue;
            objRow[ContratacionData.CTT_FECHA_LIQUIDACION_FIELD] = calFechaLiquidacion.SelectedValue;
            objRow[ContratacionData.CTT_OBJETO_FIELD] = txtObjeto.Text;

            if (ddlNaturaleza.SelectedValue != "")
                objRow[ContratacionData.TNJ_ID_NATURALEZA_JURIDICA_FIELD] = ddlNaturaleza.SelectedValue;

            objRow[ContratacionData.CTT_FECHA_SUSCRIPCION_FIELD] = calFechaSuscripcion.SelectedValue;
            objRow[ContratacionData.CTT_FECHA_INICIO_FIELD] = calFechaInicio.SelectedValue;
            objRow[ContratacionData.CTT_FECHA_TERMINACION_FIELD] = calFechaTerminacion.SelectedValue;


            BusinessRules.Contratacion objBR = new BusinessRules.Contratacion(ConfigurationManager.AppSettings["Conn"]);
            objDS.Add(objRow);


            objBR.ActualizarContratacionTiempoProrroga(StrCitId,  longFechaProrrogaPadre);


            objBR.ActualizarContrato(objDS);
            lblMensaje.Visible = true;
            Utilidad.mostrarMensaje(Utilidad.TiposMensajes.Mensaje, Utilidad.TraerMensaje("gmsgExitoGuardar"), lblMensaje);
            WccAcciones1.Accion = Utilidad.Acciones.Actualizar;
            WccAcciones1.AddVisible = false;
            WccAcciones1.UpdateVisible = true;
            WccAcciones1.DeleteVisible = true;
        }
        catch (Exception objEx)
        {
            //ExceptionManager.Publish(objEx);
            lblMensaje.Visible = true;
            Utilidad.mostrarMensaje(Utilidad.TiposMensajes.Error, Utilidad.TraerMensaje("gmsgErrorGeneral"), lblMensaje);
        }
    }

    #endregion

    protected void grid_CellEditorInitialize(object sender, DevExpress.Web.ASPxGridView.ASPxGridViewEditorEventArgs e)
    {
        //ASPxTextBox te = new ASPxTextBox();
        //if (e.Column.FieldName == "FAE_VALOR_CDP")
        //{
        //    te = e.Editor as ASPxTextBox;
        //    te.Text = "Valor no editable";
        //}
        //if (e.Column.FieldName == "FAE_NUMERO_CDP")
        //{
        //    te = e.Editor as ASPxTextBox;
        //    te.Text = "Valor no editable";
        //}
        //if (e.Column.FieldName == "PLN_NOMBRE")
        //{
        //    te = e.Editor as ASPxTextBox;
        //    te.Text = "Valor no editable";
        //}



        if (!grid.IsEditing || e.Column.FieldName != "CTT_ID") return;
        if (e.KeyValue == DBNull.Value) return;
        object val = grid.GetRowValuesByKeyValue(e.KeyValue, "FAE_NUMERO_CDP");
        if (val == DBNull.Value) return;
        string country = val.ToString();
        //ASPxTextBox combo = e.Editor as ASPxTextBox;


        //ASPxComboBox combo = e.Editor as ASPxComboBox;
        //FillCityCombo(combo, country, te);

        //combo.Callback += new CallbackEventHandlerBase(cmbCity_OnCallback);

        grid.FindControl("FAE_VALOR_CDP");
        //grid.GetRowValuesByKeyValue("666", "FAE_ID");
        grid.FindEditFormTemplateControl("FAE_VALOR_CDP");
        //grid.FindRowCellTemplateControlByKey("FAE_ID");
        //GridViewDataColumn col = grid.Columns["FAE_VALOR_CDP"] as GridViewDataColumn;
        //grid.FindRowCellTemplateControlByKey("Label1");
        //grid.FindEditFormTemplateControl("Label1");
        //Anthem.Label lblObjeto = (Anthem.Label)grid.Controls[0].FindControl("Label1");
        //if (lblObjeto != null)
        //{
        //    lblObjeto.Text = "666";
        //}

    }

    protected void FillCityCombo(ASPxComboBox cmb, string country, ASPxTextBox te)
    {
        if (string.IsNullOrEmpty(country)) return;
        cmb.Items.Clear();
        List<string> cities = GetCities(country);
        foreach (string city in cities)
        {
            cmb.Items.Add(city);

        }

        if (te != null)
        {
            te.Text = "Cambio editando";
        }
    }

    List<string> GetCities(string country)
    {
        List<string> list = new List<string>();
        //AccessDataSourceCities.SelectParameters[0].DefaultValue = country;
        //DataView view = (DataView)AccessDataSourceCities.Select(DataSourceSelectArguments.Empty);
        //for (int i = 0; i < view.Count; i++)
        //{
        //    list.Add((string)view[i][0]);
        //}
        FinAccionEpe objFinAccionEpe = new FinAccionEpe(ConfigurationManager.AppSettings["Conn"]);
        FinAccionEpeData objFinAccionEpeData = objFinAccionEpe.ConsultarFinAccionEpFaeId(Convert.ToDecimal(country));

        if (objFinAccionEpeData != null)
        {
            for (int i = 0; i < objFinAccionEpeData.Rows.Count; i++)
            {
                list.Add(objFinAccionEpeData.Rows[i][FinAccionEpeData.FAE_VALOR_CDP_FIELD].ToString());
            }
        }
        return list;
    }

    private void cmbCity_OnCallback(object source, CallbackEventArgsBase e)
    {
        FillCityCombo(source as ASPxComboBox, e.Parameter, null);
    }


    protected void lnkCDPs_Click(object sender, EventArgs e)
    {
        crearContextItems();
        Server.Transfer("CDPsOtroSiListado.aspx?SSM_ID=21", true);
    }

    protected void ddlNombreSupervisor_SelectedIndexChanged(object sender, EventArgs e)
    {
    }
    protected void ddlNombreSupervisor_SelectedIndexChanged1(object sender, EventArgs e)
    {
        SqlDataSourceDetalle.SelectParameters[0].DefaultValue = ddlNombreSupervisorInterno.SelectedValue;
        DetailsView1.DataBind();

    }

    protected void ddlNombreSupervisorExterno_SelectedIndexChanged(object sender, EventArgs e)
    {

        SqlDataSourceDetalleExterno.SelectParameters[0].DefaultValue = ddlNombreSupervisorExterno.SelectedValue;
        DetailsView2.DataBind();
    }
    protected void btnRegistrorPopup_Click(object sender, ImageClickEventArgs e)
    {
        if (StrCitIdHijo != "")
        {
            try
            {
                Contratacion objBR = new Contratacion(ConfigurationManager.AppSettings["Conn"]);
                objBR.ActualizarNumeroContrato(StrCitIdHijo, txtNumeroRegistroPopop.Text);
                txtNumeroRegistro.Text = txtNumeroRegistroPopop.Text;
                txtNumeroRegistro.AutoUpdateAfterCallBack = true;
                lblMensaje.Visible = true;
                Utilidad.mostrarMensaje(Utilidad.TiposMensajes.Mensaje, Utilidad.TraerMensaje("gmsgExitoGuardar"), lblMensajeRegistrorPopup);
            }
            catch (Exception ex)
            {

                lblMensajeRegistrorPopup.Text = ex.Message;
            }

        }
    }
    protected void btnCerrarAnular_Click(object sender, ImageClickEventArgs e)
    {
        popupPanelNumeroRegistro.Hide();
    }
    protected void btnRegistrar_Click(object sender, EventArgs e)
    {
        popupPanelNumeroRegistro.Show();
    }
    protected void ASPxGridView1_CustomCallback(object sender, ASPxGridViewCustomCallbackEventArgs e)
    {
        int index = -1;
        if (int.TryParse(e.Parameters, out index))
            grid.SettingsEditing.Mode = (GridViewEditingMode)index;
    }
    protected void lnkModificaciones_Click(object sender, EventArgs e)
    {
        crearContextItems();
        Server.Transfer("ContratosOtroSiListado.aspx?SSM_ID=21", true);
    }
    protected void calFechaTerminacion_DateChanged(object sender, EventArgs e)
    {
        cargarPLazoContrato();
    }

    private void cargarPLazoContrato()
    {
        try
        {
            long longFechaTerminacionPadre = 0;
            long longDiasPadre = 0;
            long longFechaTerminacion = calFechaTerminacion.SelectedDate.Ticks;
            long longFechaInicio = calFechaInicio.SelectedDate.Ticks;
            long fechaPlazo = longFechaTerminacion - longFechaInicio;
            long longDias = (((fechaPlazo / 10000000) / 60) / 60) / 24;
            TextBoxBase1.Text = (longDias + 1 + Convert.ToInt32(txtTiempoProrroga.Text)).ToString();
            TextBoxBase1.AutoUpdateAfterCallBack = true;

            //llamar al papa y traer la fecha de finalizacion del contrato y hacer la misma operacion
            BusinessRules.Contratacion objBR = new BusinessRules.Contratacion(ConfigurationManager.AppSettings["Conn"]);
            ContratacionData objContratacionData = objBR.ConsultarContratacionDetalleCttID(Convert.ToDecimal(StrCitId));
            if (objContratacionData != null)
            {
                DataRow objRow = objContratacionData.Rows[0];
                if (objRow[ContratacionData.CTT_FECHA_TERMINACION_FIELD] != null && objRow[ContratacionData.CTT_FECHA_TERMINACION_FIELD].ToString() != "")
                    longFechaTerminacionPadre = Convert.ToDateTime(objRow[ContratacionData.CTT_FECHA_TERMINACION_FIELD].ToString()).Ticks;
            }
            longFechaTerminacionPadre = longFechaTerminacionPadre - longFechaInicio;
            longDiasPadre = (((longFechaTerminacionPadre / 10000000) / 60) / 60) / 24;
            //Restar el numero de dias  del contrato papa al contrato del otro si y actualizar prorroga del papa
            longDiasPadre = longDias - longDiasPadre;

            longFechaProrrogaPadre = longDiasPadre.ToString();
            
        }
        catch (Exception ex)
        {

            lblMensaje.CssClass = "error";
            lblMensaje.Visible = true;
            lblMensaje.Text = Utilidad.TraerMensaje("gmsgErrorGeneral");
        }
    }
}
